<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="/masterLayout.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:componentes="http://java.sun.com/jsf/composite/componentes"
                xmlns:c="http://java.sun.com/jsp/jstl/core">

    <ui:define name="titulo_ventana">Consulta de Planificaciones de Ordenes de Producción</ui:define>
    <ui:define name="titulo_pagina">Consulta de Planificaciones de Ordenes de Producción</ui:define>
    <ui:define name="pagina">
        <h:form prependId="false" id="listado" style="width: 950px;">
            <h:panelGroup id="panelTablaFabrica">
                <p:dataTable var="fila" value="#{vistaFabrica.devolverFabricas()}" selectionMode="single" selection="#{vistaPMP.fabricaSeleccionada}" onRowSelectUpdate="fabricaSeleccionada panelTablaOP botonesAbajo" emptyMessage="No hay registros cargados">
                    <p:column>
                        <f:facet name="header">
                            Fábrica
                        </f:facet>
                        <h:outputText value="#{fila.nombre}" />
                    </p:column>
                </p:dataTable><br/>
                <h:outputText id="fabricaSeleccionada" value="Fábrica Seleccionada: #{vistaPMP.fabricaSeleccionada.nombre}" />
            </h:panelGroup><br/><br/>
            <h:panelGroup id="panelTablaOP">
                <p:dataTable var="fila" value="#{vistaOrdenDeProduccion.devolverOrdenesDeProduccionNoFinalizadas(vistaPMP.fabricaSeleccionada)}" selectionMode="single" selection="#{vistaPMP.ordenDeProduccionSeleccionada}" onRowSelectUpdate="panelTablaOP botonesAbajo" emptyMessage="No hay registros cargados">
                    <p:column>
                        <f:facet name="header">
                            Estado
                        </f:facet>
                        <h:outputText value="#{fila.estado}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            Fecha Estimada<br/>Inicio
                        </f:facet>
                        <h:outputText value="#{fila.fechaInicioEstimada}" >
                            <f:convertDateTime pattern="dd/MM/yyyy" type="date"/>
                        </h:outputText>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            Fecha Estimada<br/>Fin
                        </f:facet>
                        <h:outputText value="#{fila.fechaFinEstimada}" >
                            <f:convertDateTime pattern="dd/MM/yyyy" type="date"/>
                        </h:outputText>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            Tipo
                        </f:facet>
                        <h:outputText value="#{fila.muebleTipo.nombre}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            Capacidad<br/>Máxima
                        </f:facet>
                        <h:outputText value="#{fila.fabrica.devolverCapacidadMaximaPara(fila.muebleTipo)}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            Capacidad<br/>Disponible
                        </f:facet>
                        <h:outputText value="#{fila.devolverCapacidadDisponible()}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            Acción
                        </f:facet>
                        <p:commandButton value="Ver Requerimientos Materiales" process="@this" update="panelDialogoRequerimientosMateriales" onsuccess="dialogoRequerimientosMateriales.show();" >
                            <f:setPropertyActionListener target="#{vistaPMP.requerimientoMateriales}" value="#{fila.requerimientoMateriales}" />
                        </p:commandButton>
                    </p:column>
                </p:dataTable><br/>
                <h:outputText id="ordenDeProduccionSeleccionada" value="Orden de Producción Seleccionada: #{vistaPMP.ordenDeProduccionSeleccionada.descripcion}" />
            </h:panelGroup><br/><br/>
            <h:panelGroup id="panelScript">
                <script type="text/javascript">
                    <h:outputText value="#{vistaPMP.script}" escape="false"/>
                </script>
            </h:panelGroup>
            <h:panelGroup styleClass="botonesBottom" id="botonesAbajo">
                <p:commandButton ajax="false" value="Volver" action="/index?faces-redirect=true"/>
            </h:panelGroup>
        </h:form>
        <p:dialog widgetVar="dialogoRequerimientosMateriales" width="650" resizable="false" modal="true">
            <h:form prependId="false" style="min-width: 600px; width: 600px;">
                <h:panelGroup id="panelDialogoRequerimientosMateriales">
                    <p:dataTable var="fila" value="#{vistaPMP.requerimientoMateriales}">
                        <p:column>
                            <f:facet name="header">
                                Artículo
                            </f:facet>
                            <h:outputText value="#{fila.itemRequerible.nombre}" />
                        </p:column>
                        <p:column>
                            <f:facet name="header">
                                Cantidad<br/>Total
                            </f:facet>
                            <h:outputText value="#{fila.cantidadRequerida}" />
                        </p:column>
                        <p:column>
                            <f:facet name="header">
                                Cantidad<br/>en Tránsito
                            </f:facet>
                            <h:outputText value="#{fila.cantidadPedida}" />
                        </p:column>
                        <p:column>
                            <f:facet name="header">
                                Cantidad<br/>a Pedir
                            </f:facet>
                            <h:outputText value="#{fila.cantidadAPedir()}" />
                        </p:column>
                        <p:column>
                            <f:facet name="header">
                                Cantidad<br/>Reservada
                            </f:facet>
                            <h:outputText value="#{fila.cantidadReservada}" />
                        </p:column>
                    </p:dataTable>
                    <h:panelGroup styleClass="botonesBottom">
                        <p:commandButton value="Cerrar" onclick="dialogoRequerimientosMateriales.hide();" />
                    </h:panelGroup>
                </h:panelGroup>
            </h:form>
        </p:dialog>
    </ui:define>
</ui:composition>
